1   package net.sourceforge.selfesteem.applet;
2   
3   /*
4    * %W% %E%
5    *
6    * Copyright 1997, 1998 by Sun Microsystems, Inc.,
7    * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
8    * All rights reserved.
9    *
10   * This software is the confidential and proprietary information
11   * of Sun Microsystems, Inc. ("Confidential Information").  You
12   * shall not disclose such Confidential Information and shall use
13   * it only in accordance with the terms of the license agreement
14   * you entered into with Sun.
15   */
16  
17  import javax.swing.*;
18  import javax.swing.event.CellEditorListener;
19  import javax.swing.event.ChangeEvent;
20  import javax.swing.event.EventListenerList;
21  import java.util.EventObject;
22  
23  /***
24   * @version %I% %G%
25   *
26   * A base class for CellEditors, providing default implementations for all
27   * methods in the CellEditor interface and support for managing a series
28   * of listeners.
29   *
30   * @author Philip Milne
31   */
32  
33  public class AbstractCellEditor implements CellEditor {
34  
35      protected EventListenerList listenerList = new EventListenerList();
36  
37      public Object getCellEditorValue() {
38          return null;
39      }
40  
41      public boolean isCellEditable(EventObject e) {
42          return true;
43      }
44  
45      public boolean shouldSelectCell(EventObject anEvent) {
46          return false;
47      }
48  
49      public boolean stopCellEditing() {
50          return true;
51      }
52  
53      public void cancelCellEditing() {
54      }
55  
56      public void addCellEditorListener(CellEditorListener l) {
57          listenerList.add(CellEditorListener.class, l);
58      }
59  
60      public void removeCellEditorListener(CellEditorListener l) {
61          listenerList.remove(CellEditorListener.class, l);
62      }
63  
64      /***
65       * Notify all listeners that have registered interest for
66       * notification on this event type.
67       * @see javax.swing.event.EventListenerList
68       */
69      protected void fireEditingStopped() {
70          // Guaranteed to return a non-null array
71          Object[] listeners = listenerList.getListenerList();
72          // Process the listeners last to first, notifying
73          // those that are interested in this event
74          for (int i = listeners.length - 2; i >= 0; i -= 2) {
75              if (listeners[i] == CellEditorListener.class) {
76                  ((CellEditorListener) listeners[i + 1]).editingStopped(new ChangeEvent(this));
77              }
78          }
79      }
80  
81      /***
82       * Notify all listeners that have registered interest for
83       * notification on this event type.
84       * @see javax.swing.event.EventListenerList
85       */
86      protected void fireEditingCanceled() {
87          // Guaranteed to return a non-null array
88          Object[] listeners = listenerList.getListenerList();
89          // Process the listeners last to first, notifying
90          // those that are interested in this event
91          for (int i = listeners.length - 2; i >= 0; i -= 2) {
92              if (listeners[i] == CellEditorListener.class) {
93                  ((CellEditorListener) listeners[i + 1]).editingCanceled(new ChangeEvent(this));
94              }
95          }
96      }
97  }
This page was automatically generated by Maven